<?php
    require_once '../config.php';
    require_once '../functions.php';
    //根据文章的分类id对数据进行更多的获取
    // SELECT * from posts
    // LIMIT 0,5
    // SELECT * from posts
    // LIMIT 5,5
    // SELECT * FROM posts
    // LIMIT 10,5 
    // SELECT * from posts
    // LIMIT (n - 1)*5,5
    //分析:获取当前是第几次获取,一共要获取多少条数据
    //连接数据库
    $connect = connect();

    //获取前端发送的ajax请求的数据
    $categoryId = $_POST["categoryId"];//获取分类的id
    $currentPage = $_POST["currentPage"];//获取第几次的数据
    $pageSize = $_POST["pageSize"];//每次获取多少条数据
    $offset = ($currentPage - 1) * $pageSize;//从数据的索引几开始

    //sql语句
    $sql = "SELECT p.id, p.title,p.feature,p.created,p.content,p.views,p.likes,u.nickname,c.`name`,
    (SELECT COUNT(id) FROM comments WHERE post_id = p.id ) as commtentsCounts
    FROM posts p

    LEFT JOIN users u on u.id=p.user_id
    LEFT JOIN categories c on c.id=p.category_id
    where p.category_id = {$categoryId}
    LIMIT {$offset},{$pageSize}";
    //执行sql语句,返回二维数组
    $result = querySelect($connect,$sql);

    //当用户点击到最后的数据已经不满足每次出现的数据条数时,
    //获取它的最大的次数sql语句
    $sqlCount = "SELECT count(id) as pageCount FROM posts where category_id = {$categoryId}";
    //执行sql语句,返回一个二维数组
    $countArr = querySelect($connect,$sqlCount);
    // print_r($countArr);
    // Array
    //     (
    //         [0] => Array
    //             (
    //                 [pageCount] => 294
    //             )
    //     )
    $pageCount = $countArr[0]["pageCount"];
    //返回给前端的信息提示,这些信息是前端与后端沟通好后的要返回的数据信息
    //"0"表示失败 "1"表示成功
    $response = ["code"=>0,"msg"=>"操作失败"];

    //判断是否有数据
    if($result){
        $response["code"] = 1;//返回的状态码
        $response["msg"] = "操作成功!";//返回的提示信息
        $response["data"] = $result;//将查询的结果集传给
        $response["pageCount"] = $pageCount;
    }
    //返回对应的数据给前端
    //告诉前端这是一个json数据
    header("content-type:application/json;charset=utf8");
    //json_encode(数组):将数组转换成字符串]
    //json_decode(字符串):将字符串转换成数组
    echo json_encode($response);//把这个返回给前端,前端只能接受echo中的数据信息


    

?>